GuardDuty のマルウェアスキャンを実施した際に外部共有された EBS スナップショットが作成されたのはなぜでしょうか?
困っていた内容
EC2 インスタンスに対して GuardDuty のオンデマンドマルウェアスキャンを実施しました。
すると、EBS スナップショットが作成されていることに気がつきました。詳細を確認したところ、見覚えのない AWS アカウントに EBS スナップショットが外部共有されておりました。
マルウェアスキャンが Clean となってスナップショットは消去されましたが、この外部の AWS アカウントに EBS スナップショットが共有されたのはなぜでしょうか。
どうしてこのような事象が発生するの?
GuardDuty で自動的に起動されるマルウェアスキャンまたはオンデマンドマルウェアスキャンが開始されると、GuardDuty はリソースにアタッチされた EBS ボリュームのスナップショットを作成し、GuardDuty サービスアカウントへの共有を行います。そしてこのスナップショットから、サービスアカウントに暗号化されたレプリカ EBS ボリュームを作成するという仕様があります。
先ほど見覚えのない AWS アカウントとして記載した 447226417196 は、私が GuardDuty を有効化しているオレゴンリージョンの GuardDuty サービスアカウントとなります。
- GuardDuty による サービスアカウント AWS リージョン | Amazon GuardDuty
AWS リージョン リージョンコード GuardDuty サービスアカウント ID (userId) 米国西部(オレゴン) us-west-2 447226417196
作成された EBS ボリュームとスナップショットはスキャン後どうなるの?
GuardDuty によるスキャンが完了した際にマルウェアが検知されなかった場合、暗号化されたレプリカ EBS ボリュームとそのスナップショットは削除されます。
その一方でマルウェアが検知され、スナップショットの保持設定を有効にしている場合は EBS ボリュームとスナップショットは削除されず、アカウントに自動的に保持されます。
GuardDuty EBS ボリュームのスナップショットをアカウント内に保持するオプションが用意されています。 AWS デフォルトでは、スナップショットの保持設定はオフになっています。スナップショットは、スキャン開始前にこの設定をオンにしている場合にのみ保持されます。